package com.kaili.basic.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.pojo.dto.MdmCompanyQueryDto;
import com.kaili.basic.pojo.entity.MdmCompany;
import com.kaili.basic.pojo.entity.MdmCompanyExport;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author fzj
 * @since 2018-05-09
 */
public interface IMdmCompanyService {

    //新增公司
    int addMdmCompany(MdmCompany mdmCompany);

    //修改公司
    int updateMdmCompany(MdmCompany mdmCompany);

    //删除公司
    int deleteMdmCompany(MdmCompany mdmCompany);

    //根据查询条件分页查询公司
    Page<MdmCompany> getMdmCompanyByKeywords(Page<MdmCompany> page, MdmCompanyQueryDto dto);

    //导出
    List<MdmCompanyExport> queryCompanyExport(MdmCompanyQueryDto dto);

    //查询当前最新公司编号
    List<MdmCompany> getCompanyCode();

    Integer getCompanyCodeByAuto();

    //自动生成公司编码
    void createdCompanyCodeAuto(Map<String,Object> map);

    //更新公司编码使用状态
    void updateCompanyCodeStatusUsing(Integer companyCode);

    //更新公司编码使用状态
    void updateCompanyCodeStatusUsed(Integer companyCode);

    //更新公司编码为未使用状态
    void updateCompanyCodeStatusUnuse(Integer companyCode);

    //查询公司url
    MdmCompany getCompanyUrl(Long companyId);

    //短信验证码注册
    String SmsVerificationCode(String phone);

    //往redis 存入数据
    String saveVerifyCode(String phone, String code);

    //取redis 数据
    String getVerifyCode(String phone);

    //通过手机号码 来查询是否已经注册
    Integer selectPhone(String phoneNumber);

    String getImgByKey(String key);

}
